package com.example.usercenter.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.usercenter.model.domain.Team;
import com.example.usercenter.model.domain.User;
import com.example.usercenter.model.dto.TeamJoinQuery;
import com.example.usercenter.model.dto.TeamQuery;
import com.example.usercenter.model.dto.TeamUpdateQuery;
import com.example.usercenter.model.request.TeamQueryRequest;
import com.example.usercenter.model.vo.UserVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author asus
* @description 针对表【team(队伍表)】的数据库操作Service
* @createDate 2025-01-18 10:59:47
*/
public interface TeamService extends IService<Team> {

    Boolean createTeam(Team team , HttpServletRequest request);

    List<UserVo> listTeams(TeamQuery teamQuery,Boolean isAdmin);

    boolean updateTeam(TeamUpdateQuery teamUpdateQuery, HttpServletRequest request);

    Boolean joinTeam(TeamJoinQuery teamJoinQuery,HttpServletRequest request);

    Boolean exitTeam(TeamQueryRequest teamQueryRequest, HttpServletRequest request);

    Boolean dismissTeam(TeamQueryRequest teamQueryRequest,HttpServletRequest request);

    List<UserVo> matchTags(long num, User loginUser);
}
